package objetos;

import java.util.Iterator;

import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;

public class ItemCompraObj {
	
	public ItemCompraObj (int codigo_produto, int quantidade) {
		this.codigo_produto = codigo_produto;
		this.quantidade = quantidade;
	}

	/**
	 * Código do produto que será comprado pela loja.
	 */
	private int codigo_produto;
	
	/**
	 * Quantidade de produto que será comprada pela loja.
	 */
	private int quantidade;

	public int getCodigo_produto() {
		return codigo_produto;
	}

	public void setCodigo_produto(int codigoProduto) {
		codigo_produto = codigoProduto;
	}

	public int getQuantidade() {
		return quantidade;
	}

	public void setQuantidade(int quantidade) {
		this.quantidade = quantidade;
	}
	
	public OMElement toOMElement() {
		
		// Cria OMElement
		OMFactory fac = OMAbstractFactory.getOMFactory();
		OMNamespace ns_obj = fac.createOMNamespace("Objeto", "obj");
		OMNamespace ns_atb = fac.createOMNamespace("atributos", "atb");
		OMElement return_el = fac.createOMElement("objeto", ns_obj);
		
		OMElement el_codigo_produto = fac.createOMElement("codigoProduto", ns_atb);
		el_codigo_produto.setText(new Integer(codigo_produto).toString());
		return_el.addChild(el_codigo_produto);
		
		OMElement el_quantidade = fac.createOMElement("quantidade", ns_atb);
		el_quantidade.setText(new Integer(quantidade).toString());
		return_el.addChild(el_quantidade);
		
		return return_el;
	}
	
	public void loadOMElement(OMElement element) {
		Iterator<OMElement> it = element.getChildElements();
		
		try {
			OMElement temp;
			
			temp = it.next();
			setCodigo_produto(Integer.parseInt(temp.getText()));
			
			temp = it.next();
			setQuantidade(Integer.parseInt(temp.getText()));
			
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
}
